#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//int fun(int a,int k)
//{
//	if (k == 0)
//		return 1;
//	return a * fun(a, --k);
//}
//int fun(int n)
//{
//	if (n == 1 || n == 2)
//		return 1;
//	int a = 1;
//	int b = 1;
//	int c = 0;
//	for (int i = 3; i <= n; i++)
//	{
//		c = a + b;
//		a = b;
//		b = c;
//	}
//	return c;
//}
//int fun1(int a,int k)
//{
//	if (k == 0)
//		return 1;
//	return a * fun(a, --k);
//}
//int fun(int a,int k)
//{
//	int shu = a;
//	int z = 0;
//	while (shu)
//	{
//		z+=fun1(shu%10,k);
//		shu /= 10;
//	}
//	return z;
//}
//int main()
//{	
//	int zhang = 7;
//	for (int i = 1; i <= zhang; i++)
//	{
//		for (int j = zhang - i; j >= 0; j--)
//		{
//			printf(" ");
//		}
//		for (int j = 2*i-1; j > 0; j--)
//		{
//			printf("*");
//		}
//		
//		printf("\n");
//	}
//	for (int i = 1; i < zhang; i++)
//	{
//		for (int j = i; j >= 0; j--)
//		{
//			printf(" ");
//		}
//		for (int j = (zhang-i)*2-1; j > 0; j--)
//		{
//			printf("*");
//		}
//
//		printf("\n");
//	}
//	
//	return 0;
//}



//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	int qian = 0;
//	int hou = sizeof(arr) / sizeof(arr[0]) - 1;
//	while (qian < hou)
//	{
//		while (qian < hou && arr[qian] % 2 != 0)
//		{
//			qian++;
//		}
//		while (qian < hou && arr[hou] % 2 == 0)
//		{
//			hou--;
//		}
//		if (qian < hou)
//		{
//			int time = arr[hou];
//			arr[hou] = arr[qian];
//			arr[qian] = time;
//		}
//	 }
//	for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}


void fun()
{
	printf("1\n");
}
void fun1()
{
	printf("3\n");
}
void F(void (*pf)())
{
	printf("2\n");
	pf();
}
int main()
{
	void (*p)() = fun;
	F(fun);
	void (*p1)() = fun1;
	F(fun1);
	return 0;
}